package com.bjpowernode.javase.collection;

import java.util.ArrayList;
import java.util.Collection;

/*
关于java.util.Collection接口中常用的方法。
    1、Collection中可以存放什么元素？
        没有使用“泛型”之前，Collection中可以存放Object的所有子类型。
        集合中不能直接存储基础数据类型，也不能存储Java对象，只是存储Java对象的内存地址。
        使用了“泛型”之后，Collection中只能存储某个具体的类型。
        集合后期会学习泛型语法，目前不用管。
   2、Collection中常用的方法
        boolean add(Object e);向集合中添加元素
        int	size();获取集合中元素的个数
        void clear();清空集合
        boolean contains(Object e);判断当前集合中是否包含元素e
        void remove(Object e);删除集合中某个元素
        boolean isEmpty();判断集合是否为空
        Object[] toArray();将集合转换为数组
 */
public class CollectionTest01 {
    public static void main(String[] args) {
        //创建一个集合对象
        //Collection c = new Collection();//接口是抽象的无法实例化。
        //多态
        Collection c = new ArrayList();
        //测试collection接口中常用的方法
        c.add(1200);//自动装箱，实际上是放进去一个对象的内存地址，Integer x = new integer(1200);
        c.add(3.14);
        c.add(new Object());
        c.add(new Student1());
        c.add(true);//自动装箱


        //获取集合中元素的个数
        System.out.println("集合中元素的个数是：" + c.size());

        //清空集合
        c.clear();
        System.out.println("集合中元素的个数是：" + c.size());

        //再向集合中添加元素
        c.add("hello");//"hello"对象的内存地址放到了集合当中。
        c.add("world");
        c.add("浩克");
        c.add("绿巨人");
        c.add(1);

        //判断集合中是否包含“绿巨人”
        boolean flag = c.contains("绿巨人");
        System.out.println(flag);

        boolean flag2 = c.contains("绿巨人2");
        System.out.println(flag2);

        System.out.println("集合中元素的个数是：" + c.size());

        //删除集合中某个元素
        c.remove(1);
        System.out.println("集合中元素的个数是：" + c.size());

        //判断集合是否为空
        System.out.println(c.isEmpty());
        c.clear();
        System.out.println(c.isEmpty());

        c.add(100);
        c.add("abc");
        c.add("hello");
        c.add(new Student1());
        //转换成数组
        Object[] obj = c.toArray();
        //遍历数组
        for(int i = 0;i<obj.length;i++){
            System.out.println(obj[i]);
        }



    }
}
class Student{}
